apache mod_url 설치 하기

1. DSO 방식으로 설치된 APACHE

[root@soma]# /usr/local/apache/bin/httpd -l

Compiled-in modules:

http_core.c
mod_so.c -> ( DSO 방식으로 설치된 것을 확인할 수 있는 모듈 )

위의 mod_so.c 모듈이 올라와있다면 간단하게 추가가 가능하게 됩니다. 방법은 아래와
같습니다.

mod_url.c 파일은 홈페지지 DownLoad에서 다운 받으시길 바랍니다.

1-1. 설치

[root@soma]# /usr/local/apache/bin/apxs -i -a -c mod_url.c ( 만약 apxs 가 설치되어있지 않다면 아래 설치방법 참조 )

$ apxs -i -a -c mod_url.c    gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_url.c
ld -Bshareable -o mod_url.so mod_url.o
cp mod_url.so /path_to/apache/libexec/mod_url.so
chmod 755 /path_to/apache/libexec/mod_url.so
[activating module `redurl’ in  /path_to/apache/etc/httpd.conf]

1-2. 확인

[root@soma]# vi /usr/local/apache/conf/httpd.conf

LoadModule redurl_module      libexec/mod_url.so
AddModule mod_url.c

위의 2 가지 파일이 추가되었다면 정상적으로 설치되었다고 판단할 수 있습니다.

1-3. 활성화

[root@soma]# vi /usr/local/apache/conf/httpd.conf

< IfModule mod_url.c>
CheckURL On
< /IfModule>

conf 파일에 위의 문장을 아무곳에나 추가한다.

1-4. 데몬재시작

[root@soma]# /usr/local/apache/bin/apachectl restart

apxs 가 설치되어 있지 않은 경우는 아래처럼 설치하시면 됩니다.

2-1. 설치

[root@soma]# cp mod_url.c /usr/local/apache/include
[root@soma]# cd /usr/local/apache/include
[root@soma include]# gcc -fpic -DSHARED_MODULE -I/usr/include/apache -DEAPI -c mod_url.c
[root@soma include]# ls -al mod_url.o
[root@soma include]# gcc -shared -o mod_url.so mod_url.o
[root@soma include]# ls -al mod_url.so
[root@soma include]# cp mod_url.so /usr/local/apache/libexec
[root@soma include]# chmod 755 /usr/local/apache/libexec/mod_url.so

2-2. 추가

[root@soma]# vi /usr/local/apache/conf/httpd.conf

LoadModule redurl_module      libexec/mod_url.so
AddModule mod_url.c

위의 2 가지 파일을 추가하시면 됩니다.

2-3. 활성화

[root@soma]# vi /usr/local/apache/conf/httpd.conf

< IfModule mod_url.c>
CheckURL On
< /IfModule>

conf 파일에 위의 문장을 아무곳에나 추가한다.

2-4. 데몬재시작

[root@soma]# /usr/local/apache/bin/apachectl restart

2. STATIC 하게 설치된 APACHE

[root@soma bin]# /usr/local/apache/bin/apxs -i -a -c mod_url.c

apxs:Error: Sorry, no DSO support for Apache available
apxs:Error: under your platform. Make sure the Apache
apxs:Error: module mod_so is compiled into your server
apxs:Error: binary `/usr/local/apache/bin/httpd’.

DSO 방식으로 설치되지 않고 STATIC 하게 설치된 아피치의 경우 위의 오류메시지를 확인할 수 있다.
메시지를 보시면 DSO 가 지원안된다는 것을 확인할 수 있을것이다.

DSO 방식이로 설치되어있지 않을 경우는 apache,php를 재 컴파일 해줘야합니다. 방법은 아래와 같
습니다.

1. apache 컴파일 ]

[root@soma src]# tar -xvzf apache_1.3.28.tar.gz
[root@soma src]# cd apache_1.3.28
[root@soma apache_1.3.28]# ./configure
[root@soma apache_1.3.28]# cd ..

2. php 컴파일

[root@soma src]# tar -xvzf php-4.3.5.tar.gz
[root@soma src]# cd php-4.3.5
[root@soma php-4.3.5]#./configure –with-apache=../apache_1.3.28 –with-mysql=/usr/local/mysql –enable-track-vars

주) php 컴파일시 기존에 설치되었든 옵션을 확인하여 재 컴파일후 서비스에 문제가 발생하지 않도록 주의해야합니다.

[root@soma php-4.3.5]# make
[root@soma php-4.3.5]# make install

3. apache 재 컴파일

[root@soma php-4.3.5]# cd ../apache_1.3.28
[root@soma apache_1.3.28]# ./configure –activate-module=src/modules/php4/libphp4.a
–add-module=src/modules/extra/mod_redurl.c

주) mod_redurl.c 모듈을 구해서 apache_1.3.28/src/modules/extra 디렉토리 및에 미리 가져다 놓았다.

[root@soma apache_1.3.28]# make
[root@soma apache_1.3.28]# make install

4. conf 파일에 추가

[root@soma apache_1.3.28]# vi /usr/local/apache/conf/httpd.conf

< IfModule mod_redurl.c>
CheckURL On
< /IfModule>

위의 3줄을 아무곳에나 추가시킨다.

5. apache 데몬 시작

[root@soma apache_1.3.28]# /usr/local/apache/bin/apachectl restart

6. 모듈확인하기

[root@soma src]# /usr/local/apache/bin/httpd -l

http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_access.c
mod_auth.c
mod_setenvif.c
mod_php4.c
mod_redurl.c -> 새롭게 추기된 모듈